10 IFA>0THEN40 20 POKE55,255:POKE56,63:POKE51,255:POKE52,63:CLR 30 A=A+1:PRINT"LOADING SPRITES":LOAD"SPRITE FILE 1",8,1 40 IFA>1THEN60 50 A=A+1:PRINT"LOADING M/CODE ":LOAD"ANIMATE.MC",8,1 60 IFA>2THEN90 70 SYS 50222:REM CLEAR BIT MAP MEMORY AND HIRES CHARACTER MEMORY 80 A=A+1:PRINT"LOADING HIRES CH":LOAD"TEST1 .ANM",8,1 90 GOSUB 820:REM VARIABLES 100 SYSCLS:SYSCMEM:SYSSBANK:SYSSCHBASE 110 POKE53265,PEEK(53265)OR32:REM HIRES BIT MAP MODE 120 IFPEEK(MULTI)=1THENPOKE53270,PEEK(53270)OR16:REM MULTICOLOUR 130 POKE24568,0:POKE24569,8:REM SPRITE POINTERS 140 POKE53276,PEEK(53276)OR3:REM MULTI COLOUR SPRITE 150 POKE53287,10:POKE53285,12:POKE53286,5:POKE53288,0:REM SPRITE COLOUR 160 POKE53248,100:POKE53249,50:REM X,Y CO-ORDINATES 170 POKE53264,PEEK(53264)OR1:REM MSB OF SPRITE 0 180 POKE53269,PEEK(53269)OR3:REM SWITCH ON SPRITES 190 SYSINIT:REM SET UP HIRES FIGURE ON SCREEN 200 SC=0:DB=0 210 POKEMODE,108:SYSANIM 220 REM MAIN LOOP 230 FORN=0TO320 240 SX=SX-1 250 IF SX<0AND(PEEK(53264)AND1)=1THENGOSUB760 260 IF SX=0AND(PEEK(53264)AND1)=0THENSX=100:POKE53264,1 270 IF DB=0THENSC=SC+1 280 IF DB=1THENSC=SC-1 290 IF SC=0THENDB=0 300 IF SC=7THENDB=1 310 POKE53248,SX:POKE24568,SC 320 NEXTN 330 POKE53269,0:SYSAOFF 340 POKECB,96:POKECT,128:SYSWIPE 350 POKE MULTI,1:POKEABASE,0:POKEABASE+1,96 360 K=60 370 X=1/(null):P=0 380 A=1/SQR(5) 390 FORN=1 TO 1000 400 Y=X-.5:X=X+A-INT(X+A) 410 P=P-Y 420 XX=X*319:YY=100-P*K:CC=INT(RND(1)*3+1) 430 XX=2*INT(XX/2):XH=INT(XX/256):XL=XX-(XH*256) 440 POKECOLOUR,CC:POKEHX,XL:POKEHX+1,XH:POKEHY,YY 450 SYSPLOT 460 NEXTN 470 POKE MODE,96 480 GOSUB670:PV=1:POKEPAUSE,PV:POKEYD,0 490 X1=(PEEK(PX)*8)+60:Y1=150:POKE53250,X1:POKE53251,Y1 500 SX=100:POKE53264,1:POKE53248,SX:POKE53249,120:POKE53269,3 510 SYSNANIM 520 SX=SX-1 530 IF SX<0AND(PEEK(53264)AND1)=1THENGOSUB760 540 IF SX=0AND(PEEK(53264)AND1)=0THENSX=100:POKE53264,1 550 IF DB=0THENSC=SC+1 560 IF DB=1THENSC=SC-1 570 IF SC=0THENDB=0 580 IF SC=7THENDB=1 590 IFPEEK(FIRE)=1THEN650 600 POKE53248,SX:POKE24568,SC 610 X1=(PEEK(PX)*8)+60 620 IFX1>255THENX1=X1-255:POKE53264,PEEK(53264)OR2:POKE53250,X1:GOTO640 630 IFX1<255THENPOKE53264,PEEK(53264)AND253:POKE53250,X1 640 GOTO510 650 POKE53269,0 660 END 670 REM INITIALISE CHARACTER ROUTINE 680 POKE MVE,0:POKE RILE,0 690 X=8:Y=8:REM COORDINATES (IN CHARACTER BLOCKS) OF START POSITION. 700 POKEPX,X:POKEPY,Y 710 SS=24576+(320*Y):POKEHL,INT(SS/256):POKELL,SS-(PEEK(HL)*256):REM EXTREME LHS 720 POKEHR,INT((SS+240)/256):POKELR,(SS+240)-(PEEK(HR)*256):REM EXTREME RHS 730 SS=SS+(8*X):POKESVLUE+1,INT(SS/256):POKESVLUE,SS-(INT(SS/256)*256) 740 SYS AER 750 RETURN 760 REM MSB OFF 770 SX=255:POKE53264,PEEK(53264)AND 254 780 RETURN 790 REM MSB ON 800 SX(0)=0:POKE53264,PEEK(53264)OR1 810 RETURN 820 REM INITIALISE VARIABLES 830 SBANK=49205:REM SET BANK 840 SCHBASE=49224:REM SET CHAR.BASE 850 RILE=49916:REM MOVING L-R OR R-L 860 MVE=49917:REM CHARACTER MOVE 870 MULTI=49152:REM MULTI COLOUR MODE 880 INIT=49362:REM INITIALISE HIRES CHARACTER ROUTINE 890 ANIM=49450:REM ANIMATION ROUTINE 900 PAUSE=50192:REM SLOW ROUTINE VALUE LOCATION 910 CLS=49235:REM SET COLOUR MEMORY 920 CMEM=49246:REM CLEAR MEMORY(COLOUR)LOCATION 930 DX=49359:REM DIRECTION OF X JOYSTICK 940 DY=49360:REM DIRECTION OF Y JOYSTICK 950 FIRE=49361:REM FIRE BUTTON PRESSED 960 LL=49918:REM LEFT HAND SIDE LO.BYTE 970 LR=49920:REM RIGHT HAND SIDE LO.BYTE 980 HL=49919:REM LEFT HAND SIDE HI.BYTE 990 HR=49921:REM RIGHT HAND SIDE HI.BYTE 1000 PV=16:REM PAUSE VALUE 1010 CB=254:REM BOTTOM OF MEMORY CLEAR VECTOR HI BYTE 1020 CT=50236:REM TOP OF MEMORY HI BYTE 1030 PX=49924:REM POSITION OF X 1040 PY=49925:REM POSITION OF Y 1050 YD=49926:REM SWITCH ON MOVEMENT IN Y AXIS 1060 POKEYD,1 1070 ABASE=51290:REM HIRES SCREEN VECTOR 1080 ERASE=50981:REM ERASE HIRES PIXEL 1090 COLOUR=50982:REM MULTI COLOUR COLOUR 1100 HX=50983:REM HIRES PIXEL X 1110 HY=50985:REM HIRES PIXEL Y 1120 PLOT=50901:REM PLOT HIRES PIXEL 1130 WIPE=49297:REM CLEAR HIRES MEMORY 1140 AOFF=49475:REM SWITCH OFF INTERRUPT DRIVEN CHARACTER 1150 NANIM=49490:REM NON INTERRUPT DRIVEN HIRES CHARACTER 1160 MODE=49711:REM POKEMODE,108 BEFORE USING INTERRUPT CHARACTER OTHERWISE 96 1170 ALOOP=49837:REM ROUTINE TO EX-OR 80*96 PIXEL BLOCK OF MEMORY 1180 ASTE=49890:REM ROUTINE TO STORE START VARIABLES OF BLOCK MOVE 1190 AER=49714:REM ROUTINE TO SET STANDING FIGURE 1200 SVLUE=49912:REM SCREEN POSITION OF CHARACTER. 1210 RETURN